///////////////////////////////////////////////////////////
//  UnionOperation.cpp
//  Implementation of the Class UnionOperation
//  Created on:      23-sep-2007 21:26:31
///////////////////////////////////////////////////////////

#include "UnionOperation.h"

#ifndef ZERO
	#define ZERO 0
#endif


UnionOperation::UnionOperation(){

}



UnionOperation::~UnionOperation(){

}


void UnionOperation::resolveOperation(ListPersistent& lsTwo, ListPersistent& lsOne){
	int i = ZERO;
	ListPersistent list;
	Persistent *object = NULL;
	
	list.setAtributte(lsTwo.getAtributte());
	
	for(i = ZERO; i < lsOne.getSize(); i++)
	{
		object = lsOne.getPersistent(i);
		if(!lsTwo.is(object))
			lsTwo.insertSort(object);
		else
			list.insertSort(object);
	}
	list.clear(); // con esto libero la memoria que no uso 
	
//	for(i = ZERO; i < lsTwo.getSize(); i++)
//	{
//		object = lsTwo.getPersistent(i);
//		if(!list.is(object))
//			list.insertSort(object);
//	}
//
//	for(i = ZERO; i < lsOne.getSize(); i++)
//	{
//		object = lsOne.getPersistent(i);
//		if(!list.is(object))
//			list.insertSort(object);
//	}
	
}


